.TH "PAPI_add_events" 3 "Tue Jan 15 2013" "Version 5.1.0.2" "PAPI" \" -*- nroff -*-
.ad l
.nh
.SH NAME
PAPI_add_events \- 
.PP
add multiple PAPI presets or native hardware events to an event set  

.SH SYNOPSIS
.br
.PP
.SH "Detailed Description"
.PP 
\fBC Interface:\fP
.RS 4
#include <\fBpapi.h\fP> 
.br
 int PAPI_add_events( int  EventSet, int * EventCodes, int  number );
.RE
.PP
\fBPAPI_add_event\fP adds one event to a PAPI Event Set. \fBPAPI_add_events\fP does the same, but for an array of events. 
.br
 A hardware event can be either a PAPI preset or a native hardware event code. For a list of PAPI preset events, see PAPI_presets or run the avail test case in the PAPI distribution. PAPI presets can be passed to \fBPAPI_query_event\fP to see if they exist on the underlying architecture. For a list of native events available on current platform, run native_avail test case in the PAPI distribution. For the encoding of native events, see \fBPAPI_event_name_to_code\fP to learn how to generate native code for the supported native event on the underlying architecture.
.PP
\fBParameters:\fP
.RS 4
\fIEventSet\fP An integer handle for a PAPI Event Set as created by \fBPAPI_create_eventset\fP. 
.br
\fI*EventCode\fP An array of defined events. 
.br
\fInumber\fP An integer indicating the number of events in the array *EventCode. It should be noted that \fBPAPI_add_events\fP can partially succeed, exactly like \fBPAPI_remove_events\fP.
.RE
.PP
\fBReturn values:\fP
.RS 4
\fIPositive-Integer\fP The number of consecutive elements that succeeded before the error. 
.br
\fIPAPI_EINVAL\fP One or more of the arguments is invalid. 
.br
\fIPAPI_ENOMEM\fP Insufficient memory to complete the operation. 
.br
\fIPAPI_ENOEVST\fP The event set specified does not exist. 
.br
\fIPAPI_EISRUN\fP The event set is currently counting events. 
.br
\fIPAPI_ECNFLCT\fP The underlying counter hardware can not count this event and other events in the event set simultaneously. 
.br
\fIPAPI_ENOEVNT\fP The PAPI preset is not available on the underlying hardware. 
.br
\fIPAPI_EBUG\fP Internal error, please send mail to the developers.
.RE
.PP
\fBExamples:\fP
.RS 4

.PP
.nf
    int EventSet = PAPI_NULL;
    unsigned int native = 0x0;
    if ( PAPI_create_eventset( &EventSet ) != PAPI_OK )
    handle_error( 1 );
    // Add Total Instructions Executed to our EventSet
    if ( PAPI_add_event( EventSet, PAPI_TOT_INS ) != PAPI_OK )
    handle_error( 1 );
    // Add native event PM_CYC to EventSet
    if ( PAPI_event_name_to_code( 'PM_CYC', &native ) != PAPI_OK )
    handle_error( 1 );
    if ( PAPI_add_event( EventSet, native ) != PAPI_OK )
    handle_error( 1 );

.fi
.PP
.RE
.PP
.PP
\fBSee also:\fP
.RS 4
\fBPAPI_cleanup_eventset\fP 
.br
 \fBPAPI_destroy_eventset\fP 
.br
 \fBPAPI_event_code_to_name\fP 
.br
 \fBPAPI_remove_events\fP 
.br
 \fBPAPI_query_event\fP 
.br
 PAPI_presets 
.br
 PAPI_native 
.br
 \fBPAPI_remove_event\fP 
.RE
.PP


.SH "Author"
.PP 
Generated automatically by Doxygen for PAPI from the source code.
